package com.rentalcar.wechat.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.rentalcar.common.annotation.Excel;
import com.rentalcar.common.core.domain.BaseEntity;

/**
 * 租车信息对象 ums_rental_order
 * 
 * @author ruoyi
 * @date 2024-06-20
 */
@Data
public class UmsRentalOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单编号 */
    private Long orderId;
    /**
     * 订单号*
     */
    private String orderCode;
    /**
     * 汽车编号
      */
    private String carId;

    private String carName;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private Long userId;

    /** 车型 */
    @Excel(name = "车型")
    private String carModel;

    /** 租车价格 */
    @Excel(name = "租车价格")
    private BigDecimal rentalPrice;

    /** 发动机类型 */
    @Excel(name = "发动机类型")
    private String engineType;

    /** 排量 */
    @Excel(name = "排量")
    private String displacement;

    /** 座位数 */
    @Excel(name = "座位数")
    private Long seatingCapacity;

    /** 百公里油耗 */
    @Excel(name = "百公里油耗")
    private BigDecimal fuelConsumption;

    /** 油品类型 */
    @Excel(name = "油品类型")
    private String fuelType;

    /** 安全气囊数量 */
    @Excel(name = "安全气囊数量")
    private Long airbagCount;

    /** 变速箱类型 */
    @Excel(name = "变速箱类型")
    private String transmissionType;

    /** 取车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "取车时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pickupTime;

    /** 还车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "还车时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dropoffTime;

    /** 取车地点 */
    @Excel(name = "取车地点")
    private String pickupLocation;

    /** 还车地点 */
    @Excel(name = "还车地点")
    private String dropoffLocation;

    /** 租金总计 */
    @Excel(name = "租金总计")
    private BigDecimal totalAmount;

    /** 基本车险保障 */
    @Excel(name = "基本车险保障")
    private BigDecimal insuranceCoverage;

    /** 手续费 */
    @Excel(name = "手续费")
    private BigDecimal handlingFee;

    /** 押金支付方式 */
    @Excel(name = "押金支付方式")
    private String depositPaymentMethod;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contactPerson;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String orderStatus;

    /** 汽车照片 */
    @Excel(name = "汽车照片")
    private String carPic;

    /**
     * 订单来源  1pc  2 h5   3 app 4 小程序
     */
    private String source;
    /**
     * 订单原始金额
     */
    private BigDecimal originTotalPrice;
    /**
     * 订单优惠后的金额
     */
    private BigDecimal totalPrice;
    /**
     * 订单类型
     */
    private String orderType;

    /**
     * 用户选择的支付方式 0 需要支付 1 不需要支付
     */
    private String payType;

}
